package bosque.unc;

import java.util.Observable;

import bosque.unc.enumerations.Accion;
import bosque.unc.enumerations.Direccion;
import bosque.unc.enumerations.Notificacion;

/**
 * @author Maxi
 * @version 1.0
 * @created 30-ago-2013 15:37:08
 * clase observable que contiene los atributos de la plataforma
 */
public class Plataforma extends Observable {

	private Double altura = 0.0;
	private Direccion direccion = Direccion.PARADO;
	private Interprete interprete;
	private Double radio = 0.0;

	public Plataforma(){

	}

	public void finalize() throws Throwable {

	}

	/**
	 * Mover la plataforma en alguna de las direcciones posibles
	 * @param direccion
	 */
	public void mover(Direccion dir){
		this.direccion = dir;
		this.interprete.accionPlataforma(Accion.PLATAF_MOV, this.direccion);

	}

	public Double getAltura()
	{
		return altura;
	}

	public void setAltura(Double altura)
	{
		this.altura = altura;
		setChanged();
		notifyObservers(Notificacion.PLAT_ALTURA);
	}

	public Direccion getDireccion()
	{
		return direccion;
	}

	public void setDireccion(Direccion direccion)
	{
		this.direccion = direccion;
	}

	public Interprete getInterprete()
	{
		return interprete;
	}

	public void setInterprete(Interprete interprete)
	{
		this.interprete = interprete;
	}

	public Double getRadio()
	{
		return radio;
	}

	public void setRadio(Double radio)
	{
		this.radio = radio;
		setChanged();
		notifyObservers(Notificacion.PLAT_RADIO);
	}
	
	

}